前面所說的 Asynchronous Features 通常我又稱 Batch Features,這類 Batch Features 的特點是:
這類 Feature 常用技術框架就是 Snowflake, Spark 和 Hadoop MapReduce,並透過 Airflow 來達到流程自動化與調度,當然如果能透過先前介紹的 dbt 來管理,更可以減少實驗與 Serving 的連接
Apache Airflow 是一個廣泛使用的工作流程自動化和調度平台。在數據工程領域,Airflow 通常用於 ETL 任務,資料整合,以及批次處理,他有一下優點
基本上能接受一天以上的延遲的特徵都可以做成 Features,當然如果透過 Apache Hudi (Hadoop Upserts Deletes and Incrementals) 而不是用原本的 Apache Hive 是可以達到小時級的延遲
事實上我覺得在製作特徵的時候,都應該去思考我的特徵是不是真的有這麼強的實時需求,如果沒有,我認為大多的特徵都應該更傾向於製作成 Async Feautre 而不是 Sync Feature,原因如下
但有沒有可能所有的特徵我們都透過 Async 來處理呢?明天我們透過 Feature Store 來嘗試回答這個問題 ...